<?php
namespace ImiApp\Module\Member\Service\Base;

use Imi\Model\Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 老师请假 基类
 * @Entity
 * @Table(name="sc_leave_teacher", id={"id"})
 * @DDL("CREATE TABLE `sc_leave_teacher` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `uid` int(10) unsigned DEFAULT NULL COMMENT '老师id',
  `createtime` int(10) DEFAULT NULL COMMENT '提交申请日期',
  `status` enum('1','2','3') DEFAULT '1' COMMENT '状态:1=申请中,2=已批准,3=已拒绝',
  `apply_content` varchar(512) DEFAULT NULL COMMENT '申请内容',
  `reply_content` varchar(512) DEFAULT NULL COMMENT '答复内容',
  `team_table_ids` int(10) DEFAULT NULL COMMENT '课程表id',
  `admin_id` int(10) DEFAULT NULL COMMENT '机构id',
  `team_id` int(10) DEFAULT NULL COMMENT '班级id',
  `take_teacher_id` int(10) DEFAULT NULL COMMENT '代课老师id',
  `take_status` enum('1','2','3') DEFAULT '1' COMMENT '代课老师:1=待确认,2=已同意,3=已拒绝',
  `take_content` varchar(255) DEFAULT NULL COMMENT '代课老师回复的内容',
  `jigou_status` enum('1','2','3') DEFAULT '1' COMMENT '机构:1=待确认,2=已同意,3=已拒绝',
  `jigou_content` varchar(255) DEFAULT NULL COMMENT '机构回复的内容',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='老师请假'")
 * @property int $id 
 * @property int $uid 老师id
 * @property int $createtime 提交申请日期
 * @property string $status 状态:1=申请中,2=已批准,3=已拒绝
 * @property string $applyContent 申请内容
 * @property string $replyContent 答复内容
 * @property int $teamTableIds 课程表id
 * @property int $adminId 机构id
 * @property int $teamId 班级id
 * @property int $takeTeacherId 代课老师id
 * @property string $takeStatus 代课老师:1=待确认,2=已同意,3=已拒绝
 * @property string $takeContent 代课老师回复的内容
 * @property string $jigouStatus 机构:1=待确认,2=已同意,3=已拒绝
 * @property string $jigouContent 机构回复的内容
 */
abstract class ScLeaveTeacherBase extends Model
{
    /**
     * id
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true)
     * @var int
     */
    protected $id;

    /**
     * 获取 id
     *
     * @return int
     */ 
    public function getId()
    {
        return $this->id;
    }

    /**
     * 赋值 id
     * @param int $id id
     * @return static
     */ 
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * 老师id
     * uid
     * @Column(name="uid", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $uid;

    /**
     * 获取 uid - 老师id
     *
     * @return int
     */ 
    public function getUid()
    {
        return $this->uid;
    }

    /**
     * 赋值 uid - 老师id
     * @param int $uid uid
     * @return static
     */ 
    public function setUid($uid)
    {
        $this->uid = $uid;
        return $this;
    }

    /**
     * 提交申请日期
     * createtime
     * @Column(name="createtime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $createtime;

    /**
     * 获取 createtime - 提交申请日期
     *
     * @return int
     */ 
    public function getCreatetime()
    {
        return $this->createtime;
    }

    /**
     * 赋值 createtime - 提交申请日期
     * @param int $createtime createtime
     * @return static
     */ 
    public function setCreatetime($createtime)
    {
        $this->createtime = $createtime;
        return $this;
    }

    /**
     * 状态:1=申请中,2=已批准,3=已拒绝
     * status
     * @Column(name="status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $status;

    /**
     * 获取 status - 状态:1=申请中,2=已批准,3=已拒绝
     *
     * @return string
     */ 
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * 赋值 status - 状态:1=申请中,2=已批准,3=已拒绝
     * @param string $status status
     * @return static
     */ 
    public function setStatus($status)
    {
        $this->status = $status;
        return $this;
    }

    /**
     * 申请内容
     * apply_content
     * @Column(name="apply_content", type="varchar", length=512, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $applyContent;

    /**
     * 获取 applyContent - 申请内容
     *
     * @return string
     */ 
    public function getApplyContent()
    {
        return $this->applyContent;
    }

    /**
     * 赋值 applyContent - 申请内容
     * @param string $applyContent apply_content
     * @return static
     */ 
    public function setApplyContent($applyContent)
    {
        $this->applyContent = $applyContent;
        return $this;
    }

    /**
     * 答复内容
     * reply_content
     * @Column(name="reply_content", type="varchar", length=512, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $replyContent;

    /**
     * 获取 replyContent - 答复内容
     *
     * @return string
     */ 
    public function getReplyContent()
    {
        return $this->replyContent;
    }

    /**
     * 赋值 replyContent - 答复内容
     * @param string $replyContent reply_content
     * @return static
     */ 
    public function setReplyContent($replyContent)
    {
        $this->replyContent = $replyContent;
        return $this;
    }

    /**
     * 课程表id
     * team_table_ids
     * @Column(name="team_table_ids", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $teamTableIds;

    /**
     * 获取 teamTableIds - 课程表id
     *
     * @return int
     */ 
    public function getTeamTableIds()
    {
        return $this->teamTableIds;
    }

    /**
     * 赋值 teamTableIds - 课程表id
     * @param int $teamTableIds team_table_ids
     * @return static
     */ 
    public function setTeamTableIds($teamTableIds)
    {
        $this->teamTableIds = $teamTableIds;
        return $this;
    }

    /**
     * 机构id
     * admin_id
     * @Column(name="admin_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $adminId;

    /**
     * 获取 adminId - 机构id
     *
     * @return int
     */ 
    public function getAdminId()
    {
        return $this->adminId;
    }

    /**
     * 赋值 adminId - 机构id
     * @param int $adminId admin_id
     * @return static
     */ 
    public function setAdminId($adminId)
    {
        $this->adminId = $adminId;
        return $this;
    }

    /**
     * 班级id
     * team_id
     * @Column(name="team_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $teamId;

    /**
     * 获取 teamId - 班级id
     *
     * @return int
     */ 
    public function getTeamId()
    {
        return $this->teamId;
    }

    /**
     * 赋值 teamId - 班级id
     * @param int $teamId team_id
     * @return static
     */ 
    public function setTeamId($teamId)
    {
        $this->teamId = $teamId;
        return $this;
    }

    /**
     * 代课老师id
     * take_teacher_id
     * @Column(name="take_teacher_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $takeTeacherId;

    /**
     * 获取 takeTeacherId - 代课老师id
     *
     * @return int
     */ 
    public function getTakeTeacherId()
    {
        return $this->takeTeacherId;
    }

    /**
     * 赋值 takeTeacherId - 代课老师id
     * @param int $takeTeacherId take_teacher_id
     * @return static
     */ 
    public function setTakeTeacherId($takeTeacherId)
    {
        $this->takeTeacherId = $takeTeacherId;
        return $this;
    }

    /**
     * 代课老师:1=待确认,2=已同意,3=已拒绝
     * take_status
     * @Column(name="take_status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $takeStatus;

    /**
     * 获取 takeStatus - 代课老师:1=待确认,2=已同意,3=已拒绝
     *
     * @return string
     */ 
    public function getTakeStatus()
    {
        return $this->takeStatus;
    }

    /**
     * 赋值 takeStatus - 代课老师:1=待确认,2=已同意,3=已拒绝
     * @param string $takeStatus take_status
     * @return static
     */ 
    public function setTakeStatus($takeStatus)
    {
        $this->takeStatus = $takeStatus;
        return $this;
    }

    /**
     * 代课老师回复的内容
     * take_content
     * @Column(name="take_content", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $takeContent;

    /**
     * 获取 takeContent - 代课老师回复的内容
     *
     * @return string
     */ 
    public function getTakeContent()
    {
        return $this->takeContent;
    }

    /**
     * 赋值 takeContent - 代课老师回复的内容
     * @param string $takeContent take_content
     * @return static
     */ 
    public function setTakeContent($takeContent)
    {
        $this->takeContent = $takeContent;
        return $this;
    }

    /**
     * 机构:1=待确认,2=已同意,3=已拒绝
     * jigou_status
     * @Column(name="jigou_status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $jigouStatus;

    /**
     * 获取 jigouStatus - 机构:1=待确认,2=已同意,3=已拒绝
     *
     * @return string
     */ 
    public function getJigouStatus()
    {
        return $this->jigouStatus;
    }

    /**
     * 赋值 jigouStatus - 机构:1=待确认,2=已同意,3=已拒绝
     * @param string $jigouStatus jigou_status
     * @return static
     */ 
    public function setJigouStatus($jigouStatus)
    {
        $this->jigouStatus = $jigouStatus;
        return $this;
    }

    /**
     * 机构回复的内容
     * jigou_content
     * @Column(name="jigou_content", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $jigouContent;

    /**
     * 获取 jigouContent - 机构回复的内容
     *
     * @return string
     */ 
    public function getJigouContent()
    {
        return $this->jigouContent;
    }

    /**
     * 赋值 jigouContent - 机构回复的内容
     * @param string $jigouContent jigou_content
     * @return static
     */ 
    public function setJigouContent($jigouContent)
    {
        $this->jigouContent = $jigouContent;
        return $this;
    }

}
